1. Field of the Invention
The present invention relates generally to software for tracking financial transactions, and more particularly to a system, method, and computer program product for tracking multiple exchange rates for various transactions occurring over a period of time.
2. Description of Background Art
Software products for tracking financial transactions are generally capable of converting from one currency to another using a stored exchange rate. When exchange rates change, the stored value can be updated. However, transactions affected by the change are often not adjusted correctly, since the most current exchange rate may not be appropriate for calculations involving past transactions.
Conventional financial software is able to store exchange rates for a number of currencies. One currency is designated a “home currency,” and exchange rates for all other currencies are expressed in terms of multipliers with respect to the home currency. Typically, the home currency corresponds to the country in which the user resides or primarily conducts business. Thus, if the home currency is the Canadian dollar, exchange rates for other currencies (such as the British pound, the U.S. dollar, and the like) would be expressed in terms relative to the Canadian dollar.
In conventional systems, the stored exchange rate for a particular currency is used to calculate equivalent values for any transactions involving that currency. Thus, if an exchange rate of 1.5 is stored for the U.S. dollar with respect to the Canadian dollar, and the home currency is the Canadian dollar, all transactions involving U.S. currency would be multiplied by 1.5 to obtain the equivalent in Canadian funds. If the exchange rate subsequently changes to 1.4, all transactions (past and present) are automatically updated to reflect the new exchange rate.
This approach—updating past transactions using current exchange rates—is adequate for certain types of reports that represent “snapshots” in time, such as a Net Worth report or an Account Balance report. However, inaccuracies may result when such an approach is applied to other types of reports, particularly investment tracking such as Capital Gains and Portfolio Value reports. The above-described conventional technique is unable to easily generate accurate data for such reports, since such a technique lacks the ability to store different exchange rates for different dates, for example when the exchange rate has changed between the buy and sell dates for a security. Thus, such a technique would not be able to track, for example, capital gains/losses involving foreign currencies, in an effective and accurate manner.
Furthermore, it is desirable to represent foreign currency transactions in a manner that achieves consistency with accounting treatments for domestic transactions. As domestic transactions are recorded in the domestic currency, foreign transactions should ideally be recorded in the domestic currency as well. Conversion to domestic currency should take place using the exchange rate in effect at the date of the transaction. In conventional systems, subsequent changes to exchange rates can lead to inaccurate results, because the exchange rate being used for the conversion is no longer equal to the exchange rate in effect on the date of the transaction.
One example of such a situation is the calculation of capital gains. Calculation of capital gains on foreign assets ideally should be performed by multiplying foreign prices by the exchange rates on the date of the transactions. Thus, when a user records a purchase or sale of foreign stocks, the transaction must be converted to the domestic currency using the exchange rate in effect on that day. If, for example, a Canadian user records the purchase and subsequent sale of stock in U.S. currency, correct calculation of capital gains would yield the following results:
TransactionForeign CurrencyExchangeHome CurrencyPurchase 1 share at$30.00 US1.2$36.00 CADSell 1 share at$50.00 US1.5$75.00 CADCapital gain$39.00 CAD
The differing exchange rates for the two transactions occur because the purchase and sale occurred on different dates. However, conventional systems would fail to take into account the historical exchange rate information, and would incorrectly calculate the capital gain as $30.00 CAD, based on a current exchange rate of 1.5 ($50×1.5-$30×1.5).
Similar inaccuracies can arise in other situations. For example, foreign monetary items (such as accounts payable, accounts receivable, cash, and the like) must be adjusted to reflect the exchange rates in effect at the financial statement date. If historical exchange rate information is not readily available, such items may be inaccurately converted to the home currency using a single exchange rate. Such issues often arise in many other contexts as well.
What is needed is a system, method, and computer program product for tracking multiple exchange rates for each currency, and for storing exchange rate information for each of a number of transactions involving currency conversions. What is further needed is a system, method, and computer program product for storing and maintaining historical exchange rates and applying such rates to transactions occurring on various dates. What is further needed is a user interface for accessing, storing, and maintaining such historical exchange rates for a plurality of currencies. What is further needed is a system, method, and computer program product for generating a financial report including at least two transactions using at least two historical exchange rates.